package teste;

import static org.junit.Assert.assertEquals;

import java.util.Date;
import java.util.List;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import produto.Produto;
import produto.ProdutoRN;

public class ProdutoTest extends TestHeranca {

	

	@Before
	public void setup() {
		Produto p1 = new Produto("lote", "Caderno", new Date(), 50, 7.0f);
		Produto p2 = new Produto("lote2", "Regua", new Date(), 30, 2.5f);
		Produto p3 = new Produto("fardo", "Papel", new Date(), 300, 1.5f);

		ProdutoRN produtoRN = new ProdutoRN();
		produtoRN.salvar(p1);
		produtoRN.salvar(p2);
		produtoRN.salvar(p3);

	}

	@After
	public void limpaBanco() {

//		ProdutoRN produtoRN = new ProdutoRN();
//
//		List<Produto> produtos = produtoRN.listar();
//		for (Produto produto : produtos) {
//			produtoRN.excluir(produto);
//		}
	}

	@Test
	public void pesquisaTest() {
//		Query consulta = perquisar("Re");
//		Produto produtoPequisado = (Produto) consulta.uniqueResult();

		Produto produtoSalvo =  new Produto("lote33", "Apontador", new Date(), 110, 2.0f);
		
		ProdutoRN produtoRN =  new ProdutoRN();
		
		produtoRN.salvar(produtoSalvo);
		Produto produtoPesquisado = produtoRN.pesquisarPorDescricao("or");
		
		
		assertEquals("lote33", produtoPesquisado.getUnidade());
	}

	@Test
	public void listaProdutosTest() {
		ProdutoRN produtoRN = new ProdutoRN();
		
		List<Produto> produtos = produtoRN.listar();
		
		assertEquals(3, produtos.size());
		
	}

//	@Test
//	public void excluirProdutoTest() {
//		
//
//		produtoDeletado = (Produto) consulta.uniqueResult();
//
//		assertNull(produtoDeletado);
//
//	}

//	@Test
//	public void alteracaoProdutoTest() {
//		Query consulta = perquisar("Caderno");
//		Produto produtoAlterado = (Produto) consulta.uniqueResult();
//		produtoAlterado.setEstoque(100);
//		sessao.update(produtoAlterado);
//
//		produtoAlterado = (Produto) consulta.uniqueResult();
//
//		assertEquals(100, produtoAlterado.getEstoque().intValue());
//	}

	
}
